home *** CD-ROM | disk | FTP | other *** search
-
- V1.24 DMOUSE.DOC 11 October1990
-
- Matthew Dillon
- 891 Regal Rd
- Berkeley, California 94708
- USA
-
- DMouse (c)Copyright 1989 by Matthew Dillon, All Rights Reserved
-
- Refer to BLANKER.DOC and DMOUSE-IPC.DOC for information on external
- screen blankers.
-
- NOTES: * dres.library no longer required.
- * IPC mechanism changed
-
- WORKBENCH USERS: PLEASE READ THE REVISION HISTORY FOR V1.09 FOR
- PARTIAL SOLUTION TO INTUITION WINDOWTOFRONT() BUG.
-
- YAIH (Yet Another Input Handler)... nahh, like DMouse better...
- for "Dillon's Mouse"??? V1.20 and beyond are no longer in public domain,
- but copyright to me. They are still 'freeware'.
-
- After looking at and rejecting several mouse-intuition input
- handler enhancers (you know, accelerate the mouse, click-to-front, etc...)
- and finding them all useless, I have written my own.
-
- - Any option can be turned on or off at any time.
-
- - Screen blanks if keyboard or mouse is idle > N1 secs (default 300)
- (mouse also blanks even if mouse blanking not turned on) One
- can install a more sophisticated screen blanker (e.g. one that
- brings up a pattern or something) if they wish.
-
- - The Pesky Mouse blanks if mouse is idle > N2 secs (def 5)
-
- - Auto Activate a window when the mouse is moved over it. Window
- also activated (if not already active) when you type. These
- two features may be turned on/off independantly
-
- - Mouse Accelerator. Back feeds power into the mouse unit;
- give it a nudge and it is guarenteed to penetrate up to an
- inch and a half of wall plaster (programmable depth). Once
- you start using it, you won't be able to switch back!
-
- - Programmable command-key and command string ala PopCli, default
- left-Amiga ESC.
-
- - Left Mouse Button click in window brings it to the front
- DOES NOT BRING THE WINDOW TO THE FRONT IF IT IS ALREADY
- IN THE FRONT. Other programs would call WindowToFront() on
- every click, which is horrible if you have a simple-refresh
- window. WindowToFront() is NOT called for backdrop windows!
-
- The qualifier along with the LMB is now settable with the -l option.
-
- # clicks required is settable.
-
- - Hold LMB, click Right Mouse Button .. Window to Back! Great
- for cycling windows. See next feature for more info.
-
- (the qualifier, normally the left mouse button, can be set with
- the -R option).
-
- - Same sequence as above, but if there is no window under the
- current mouse position, there is only one window on the screen,
- or the window under the mouse is a BACKDROP window, the
- sequence cycles through Screens!
-
- - NO DAMN CLOCK. Use another utility to get a clock. No other
- glossy thrills. DMouse is short, sweet, and functional.
-
- - Does not use a CLI, should be placed in your startup-sequence.
- DO NOT 'RUN' DMOUSE!
-
- INSTALLATION:
-
- Place dmouse-handler in L: (or in the 'current' directory when DMOUSE
- is run).
-
- WORKBENCH 1.3 USERS!!!!!!!!!! There appears to be a bug in
- intuition's WindowToFront() call, which can lock up intuition when
- workbench icons are active. Under the defaults, this will occur
- whenever you depress the left mouse button over an icon.
-
- A partial fix is in place V1.07 and beyond. However, if you find
- it still freezing up, the problem can be avoided as follows: Either
- turn off the left-mouse-button window- to-front feature (-L0) or leave
- it on and set the number of clicks required to 2 (-c2) (and don't use
- the feature while your mouse is over an icon). V1.09 gives you yet
- a THIRD option which is even more preferable ... change the qualifier
- that goes along with the left mouse button to something other than 0,
- like 3 (either shift). -l3
-
- BLANKER: To use a third party blanker simply run it. You might want
- to disable DMouse's blanker in this case.
-
-
- EXECUTE FROM A CLI (e.g. WORKBENCH STARTUP SCRIPT), example:
-
- 1> dmouse -c2 -l0 -C c:newshell "<nil: >nil: newcon:320/120/320/80/Shell"
-
- There is no need to 'RUN' DMouse. A double set of quotes may be
- required for the program to work properly with ConMan.
-
- NOTE: The shell startup script should immediately CD somewhere. DMouse
- does not remember the cli's path.
-
- TO KILL:
-
- 1> dmouse QUIT
-
- IPC SUPPORT:
-
- IPC support has changed radically due to removal of dres.library from
- the required list. The reason for the change is that I have been getting
- my programs to compile under both Lattice and Aztec and did not want to
- port dres.library to Lattice C.
-
- Please refer to the example blanker programs and dmouse-ipc.doc for
- more information. This might not exist in all releases due to limited
- time on my part.
-
- SOURCE:
-
- Source will compile under DICE, my C compiler. Current cost for the
- registered version is $40 (this may change without notice and is better
- described in the freeware distribution of DICE)
-
-
- COMMAND LINE ARGUMENTS:
-
- If DMouse is already running, any specified options will be
- incorporated.
-
- quit QUIT .. remove DMouse
- -h HELP
- -a# Set acceleration to #. Default 3, 1 disables option
- -t# Set mouse acceleration threshhold, pixs/ev. default 0.
- -s# Set screen timeout to # (secs), Default 300, 0 disables option
- -m# Set mouse timeout to # (secs), Defalut 5, 0 disabled option
- -c# Set # of clicks required to bring window to front (def 1)
- -p# Set input handler priority (def 51) should always be > 50
- (initial invocation only)
-
- -f# Allow window-to-front/back even if window has no
- front/back gadget (default). -f0 will disallow
- window-to-front/back on windows which do not have
- a front/back gadget.
-
- -w# 0 = use UpFrontLayer() etc... 1 = use WindowToFront() etc...
- WindowToFront() properly refreshes SIMPLE_REFRESH windows
- but a bug intuition can cause it to crash the machine if
- a workbench icon is active at the time.
-
- Default is 0 for pre-2.0 OS's, 1 for 2.0 and beyond.
-
- -L0/1 Disable/Enable left-button brings window to front
- -A0-3 Disable/Enable AUTO-ACTIVATE. Bit #0 = mouse auto-activate
- #1 = keyboard auto-activate
- (default 3, which enables both)
-
- -lqqqq Set Qualifier (HEX) with LMB for Window To Front (default is
- 0, meaning no qualifier). Example: -l0003 sets it to
- either shift key.
-
- -Rqqqq Set Qualifier (HEX) with RMB for Window To Back (default is
- the LMB qualifier). Setting the qualifier to 0 disables
- the feature.
-
- -Kcccc Set Keycode (HEX) for command key (default 0045)
-
- -Qqqqq Set Qualifier (HEX) for command key (default 0040)
-
- -C CMD Set Command to run. Default is NEWCLI. Remaining arguments
- on command line is the command.
-
- -S/-M REMOVED. Obsoleted by new IPC mechanism.
-
- QUALIFIERS (always entered in HEX)
-
- 0001 Left Shift
- 0002 Right Shift
- 0004 Caps Lock
- 0008 Control
- 0010 Left Alt
- 0020 Right Alt
- 0040 Left Amiga Key
- 0080 Right Amiga Key
- 0100 Numeric Key Pad Key (not useful for dmouse)
- 0200 Repeat (not useful for dmouse)
- 0400 Interrupt (not useful for dmouse)
- 0800 Multibroadcast (not useful for dmouse)
- 1000 Middle Mouse Button (not normally implemented by intuition)
- 2000 Right Mouse Button
- 4000 Left Mouse Button
-
- Note: Combinations are allowed, in which case any one of the
- selected qualifiers along with the left, right mouse button
- or command key will cause the appropriate action to occur.
-
-
- RELEASE HISTORY:
-
- V1.24
- -Partial fix of mouse-streaking problem (not harmful) when mouse
- is blanked it sometimes streaks instead of blanks due to DMA being
- turned off at just the wrong time.
-
- V1.22
- -Fixed (I hope) mouse pointer blanking, should work under 1.3 and 2.0
-
- V1.21
- -Added -f option
-
- V1.20
- -3rd party IPC mechanism fixed. A new mechanism is now in place.
-
- V1.16
- -Code fixed to compile under either Manx C 3.6 or Lattice C 5.02
- -3rd party screen blanker supported removed due to removal of
- dnet.library (which is too difficult to port at this time).
-
- V1.14
- -minor bug fixes. DLineArt added to distribution (removed again in
- 1.16 temporarily)
-
- V1.13
- -d option (debug mode if compiled in) not compiled in on release
- binaries
- -You can now bring up a new cli without having to move the mouse from
- its initial (power up) position.
- -Checks if the copper list stuff it modifies is valid. If not, does
- not modify the copper list stuff (you loose mouse blanking instead of
- crashing the machine for those using the hires board)
-
-
- V1.12
- -S option added, external screen blanker supported.
- -M option added, external mouse blanker supported.
- -IPC commands changed to 'mouse on/off' 'screen on/off', they used
- to be 'mouse / nomouse' and 'blank / noblank'.
-
- V1.11
- -Intelligent requester handling: auto-activate is disabled while the
- active window has a requester in it. Slight modification of key
- handling (key-up events are ignored by DMouse). Addition of
- text-based IPC to blank/unblank the mouse/screen.
-
- V1.10
- -Fixed -A bug ... -A2 now enables auto-activate-on-key and disables
- auto-activate-on-mouse
-
- V1.09
-
- Workbench users probably want to use the following options: -w1 -l0003
- These use WindowToFront() (your windows get refreshed properly), but
- also requires you to depress a shift key + LMB to get the window-to-front
- feature.
-
- dmouse -w1 -l0003
-
- -SELECTABLE USE OF UpFrontLayer() etc.. OR WindowToFront() etc...
- Workbench users should use WindowToFront() (-w1), while CLI users
- probably want to use UpFrontLayer() (default).
-
- Reason: WindowToFront()/Back can crash the Amiga if called while
- a workbench ICON is highlighted. Unfortunetly, UpFrontLayer(), which
- does not have the bug, also does not automatically refresh
- simple-refresh windows!
-
- -New option -lqqqq (SET QUALIFIER WITH LEFT MOUSE BUTTON TO GET
- WINDOW-TO-FRONT FEATURE). WORKBENCH USERS NOTE: By setting this
- qualifier to a shift key, for instance, you can safely move icons
- around without crashing the machine because DMouse will not issue
- the WindowToFront() call unless you are holding the qualifier key
- down while pressing the left mouse button.
-
- -Bug fixed thanks to user persistance! If you disable mouse blanking,
- and enable screen blanking (which blanks the mouse too when it
- happens), hitting a key would bring back the screen but not the mouse.
-
- V1.08
- Botched.
-
- V1.07
- -All intuition calls are made from an independant process rather than
- the input handler routine. This also fixes a couple of deadlock bugs,
- but not the workbench-icon deadlock bug.
- -Mouse response is no longer jerky when the system is loaded down.
- -Keyboard-Auto-Activate-Window independant of Mouse-Auto-Activate-Window
- (enhanced -A option)
- -No need to OR the -Q qualifier with 8000 anymore
- -WindowToFront() never called for backdrop windows, which ought to fix
- the workbench freeze bug and other problems.
- -Mouse automatically blanked when screen blanks, whether mouse blanking
- is enabled or not.
- -Can set input handler priority (initial invocation only).
- -New Timeouts go into effect immediately rather than after the
- next mouse/keyboard event.
-
- V1.00-V1.06
- Before Written history
-
-
-